package com.xuexiang.xui.widget.divider;

import android.graphics.Rect;
import android.view.View;

import androidx.annotation.NonNull;
import androidx.recyclerview.widget.RecyclerView;

/**
 * FlexboxLayoutManager使用的ItemDecoration
 * liumeng
 */
public class FlexboxItemDecoration extends RecyclerView.ItemDecoration {
    private final int spacingHorizontal; // 水平间距
    private final int spacingVertical;   // 垂直间距

    public FlexboxItemDecoration(int spacingHorizontal, int spacingVertical) {
        this.spacingHorizontal = spacingHorizontal;
        this.spacingVertical = spacingVertical;
    }

    @Override
    public void getItemOffsets(@NonNull Rect outRect, @NonNull View view, @NonNull RecyclerView parent, @NonNull RecyclerView.State state) {
        super.getItemOffsets(outRect, view, parent, state);
        
        // 应用水平间距（左右）
        outRect.left = spacingHorizontal / 2;
        outRect.right = spacingHorizontal / 2;
        
        // 应用垂直间距（上下）
        outRect.top = spacingVertical / 2;
        outRect.bottom = spacingVertical / 2;
        
        // 或者你也可以根据 item 的位置进行更精细的控制
        // int position = parent.getChildAdapterPosition(view);
        // boolean isFirstInRow = ... // 需要根据布局逻辑判断，FlexboxLayoutManager 本身提供了一些查找位置的方法
    }
}